//
//  DataManager.h
//  HandheldHospital
//
//  Created by zhangchao on 16/2/26.
//  Copyright © 2016年 zhangchao. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <AVOSCloud/AVOSCloud.h>
#import "SeekModel.h"
#import <MBProgressHUD.h>
#import <DOPDropDownMenu.h>
#import "PatientData.h"
#import "ZCBLOCK.h"


@interface DataManager : NSObject
/**
 *  获取单例对象
 *
 *  @return 单例对象
 */
+ (instancetype)defaultManager;
//支付时传值调用
@property (nonatomic,copy) BLOCK block;
/**
 *  获取当前用户
 */
@property (nonatomic,strong) AVUser *myUser;
/**
 *  医生资料
 */
@property (nonatomic,strong) SeekModel *seek;
/**
 *  token
 */
@property (nonatomic,strong) NSString *token;
/**
 *  获取当前用户类型
 */
@property (nonatomic,strong) NSString *userType;
/**
 *  挂号订单数组
 */
@property (nonatomic,strong) NSMutableArray *registerArray;
/**
 *  就诊人数组
 */
@property (nonatomic,strong) NSMutableArray *dataArray;
/**
 *  医院的数据
 */
@property (nonatomic,strong) NSArray *hospitalArray;
/**
 *  医生数据，所有医生
 */
@property (nonatomic,strong) NSMutableArray *seekArray;
/**
 *  医院里的医生列表
 */
@property (nonatomic,strong) NSMutableArray *doctorArray;
/**
 *  收藏的医院
 */
@property (nonatomic,strong) NSMutableArray *collectHospitalArray;
/**
 *  收藏的医生
 */
@property (nonatomic,strong) NSMutableArray *collectDoctorArray;
/**
 *  患者数组
 */
@property (nonatomic,strong) NSMutableArray *managerArray;
/**
 *  病历数组
 */
@property (nonatomic,strong) NSMutableArray *medicalArray;
/**
 *  城市的医院
 */
@property (nonatomic,strong) NSMutableArray *cityHospitalArray;
/**
 *  获取token
 *
 *  @param block 用来传token的BLOCK
 */
- (void)getTokenWithBlock:(STRBLOCK)block;
/**
 *  获取所有医生
 */
- (void)getSeekArray;
/**
 *  获取所有医生并用BLOCK来刷新表视图
 *
 *  @param block BLOCK
 */
- (void)getSeekArrayAndBlock:(BLOCK)block;
/**
 *  获取所有医院
 */
- (void)getHospitalArray;
/**
 *  获取所有医院并通过BLOCK刷新表视图
 *
 *  @param block BLOCK
 */
- (void)getHospitalArrayAndBlock:(BLOCK)block;
/**
 *  获取医生信息
 */
- (void)getSeekModel;
/**
 *  获取就诊人信息并通过BLOCK刷新表视图
 *
 *  @param block BLOCK
 */
- (void)getDataArrayAndBlock:(BLOCK)block;
/**
 *  通过医院名获得医院医生
 *
 *  @param hospitalName 医院名
 *  @param block        用来在主线程刷新数据的BLOCK
 */
- (void)getDoctorArrayWithHospitalName:(NSString *)hospitalName AndBlock:(BLOCK)block;
/**
 *  获取当前用户收藏的医院
 */
- (void)getCollectHospitalArray;
/**
 *  获取当前用户收藏的医生
 */
- (void)getCollectDoctorArray;
/**
 *  获取当前用户所有的患者
 *
 *  @param block 用来刷新表视图
 */
- (void)getManagerArrayAndBlock:(BLOCK)block;
/**
 *  获取就诊人的电子病历
 *
 *  @param patient 就诊人
 *  @param block   用来刷新表视图
 */
- (void)getMedicalArrayWithPatient:(PatientData *)patient AndBlock:(BLOCK)block;
/**
 *  获取当前用户的挂号订单
 *
 *  @param block 用来刷新表视图的block
 */
- (void)getRegisterArrayAndBlock:(BLOCK)block;
/**
 *  通过传进来的省和市找到对应的医院数组
 *
 *  @param state 省或直辖市
 *  @param city  市或直辖区
 *  @param block 用来刷新表视图的block
 */
- (void)getCityHospitalArrayWithState:(NSString *)state City:(NSString *)city AndBlock:(BLOCK)block;
@end
